/*
 * Jenny Ruppen 09-730-391
 * Sebastien Goldberg 08-914-855
 * Henry Raymond 08-928-061
 * Stefan Mussato 09-752-270
 */
 
package ch.uzh.ifi.sopra.gruppe9.game;

import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 * Remote object interface for the client-side update subscriber.
 */
public interface IRmiUpdateSubscriber extends Remote {

	void updatePlayerList() throws RemoteException;	
	
	void startGame() throws RemoteException;
	
	void newSeason() throws RemoteException;

	void updateMoneyBuyingAgentsInventory() throws RemoteException;
	
	void updateBank() throws RemoteException;
	
	void updateConstructionAuthority() throws RemoteException;
	
	void updateTowerElementMarket() throws RemoteException;
	
	void updateHouseOfSpies() throws RemoteException;
	
	void updatePalaceOfTheCaliph() throws RemoteException;
	
	void nextPlayerTurn(int nextPlayerIndex, int lastPlayerIndex, int lastPlayerActionLocation, int lastPlayerActionDetail) throws RemoteException;
	
	void endOfSeason() throws RemoteException;
	
	void endOfGame() throws RemoteException;
}
